1. Technical Field
This invention relates to inertial navigation systems using inertial measurement units, where the system provides an estimate of the position of the inertial measurement unit.
2. Description of Related Art
A basic principle in navigation processes is known as “dead reckoning.” In dead reckoning, the current position of an object is estimated by measuring the course, speed, and time elapsed since the object was in a known starting position. For example, a person who is orienteering may utilize dead reckoning. By multiplying their average walking speed by the elapsed time, the person can estimate a total distance travelled. Using a map, the person can thus plot their path from a known starting position along a measured compass course. Dead reckoning, however, is only as reliable as the data that is used. In the orienteering example, error may be introduced in the estimates of the course travelled, the average speed, and the elapsed time. As technology developed, inertial navigation systems were developed to address these sources of error to enable more accurate navigation.
Inertial navigation systems perform a sensor-based dead reckoning by using data from an inertial measurement unit (IMU) separately or in combination with a digital magnetic compass (DMC). IMUs typically include three mutually orthogonal linear accelerometers and three mutually orthogonal rate gyroscopes to collect time-series data of linear accelerations and angular rates in the reference frame of the IMU. These six values fully characterize the dynamics of the IMU. DMCs provide three measurements of the strength of the measured magnetic field relative to the same fixed orthogonal axes used to calculate linear acceleration. In the absence of magnetic disturbances, the direction of the measured magnetic field vector gives an estimate of the “magnetic heading.”
There are various grades of IMU, which vary by cost, accuracy, size, and weight. The heaviest, most expensive, and most accurate are “navigation-grade” IMUs, which often weigh between five and one hundred pounds. The weight and cost of such IMUs make them impractical for most human-portable applications. At the other end of the spectrum are “industrial-grade” IMUs, which are considerably lighter and less expensive, making them more practical for human-portable applications despite the decreased accuracy. In the middle of the spectrum are “tactical-grade” IMUs.
Typical IMUs and DMCs provide data at roughly 50 to 1000 samples per second. The “operating frequency” of, for example, an IMU is defined as the number of times per second that the six measurements (three linear accelerations and three angular rates) are taken. Each of these time steps is known as “data cycles.” During each data cycle, the six measurements, collectively known as an “IMU data packet,” are sent to data processing electronics in the inertial navigation system to integrate navigation equations known in the art to produce a current estimate of the velocity. The data processing electronics then integrates again to produce current estimates of the position and the attitude of the IMU.
In a similar manner, the three measurements of magnetic field strength, collectively known as a “DMC data packet” are also taken and sent to the data processing electronics in the inertial navigation system to produce a current estimate of the magnetic heading. The operating frequency of the IMU and the DMC may be the same or different.
Throughout this specification, the term “real-time” is used to refer to the events occurring when the IMU or DMC senses the measured values or when another sensor senses an aiding measurement, as discussed below. Due to processing lag, the data may not be instantly processed by the system. The term “current” is used to refer to events occurring when the data processing electronics or filters have performed operations utilizing the measurements sensed in real-time. Thus, a “current estimate” of the position of an IMU will lag a finite time period behind when the measurements used to calculate the current estimate were actually taken. In this manner, the “current estimate” of the position at the instant when output from the data processing electronics is actually an estimate of a previous position.
The integrations performed by the data processing electronics inherently produce finite errors in the real-time estimates of the position, velocity and attitude, collectively known as “navigation errors.” If uncorrected, these errors grow unbounded with time. To help bound the navigation errors, it is common in the art to employ various filtering techniques. One class of filters often used in inertial navigation systems is known as Kalman filters. The term “Kalman filter” will be used to collectively refer to members and variants in this class of filters.
Kalman filters are collectively known as “recursive estimators.” This means that Kalman filters use an estimate of a state from an earlier data cycle (i.e. a “current estimate”), in conjunction with real-time measurements, to compute an estimate for the real-time state. In this manner, a Kalman filter works in conjunction with the data processing electronics to estimate the real-time position, velocity, and attitude of an IMU, collectively known as the “navigation estimates.” One specific type of Kalman filter is known as an Extended Kalman filter (EKF). This type of Kalman filter is intended for use in nonlinear systems. The EKF also produces estimates of the errors in the real-time state and then, using real-time measurements, constrains those errors.
Although navigation errors are significantly decreased using Kalman filters, other sources of error, such as inaccuracies inherent to an IMU, persist. Because the position estimate is often the most important output of an inertial navigation system, one goal of such a system is to limit the time-induced increase of errors in the position estimate (“position errors”). For simplification, this specification will subdivide position errors into a vertical component and two horizontal components, “along-track” and “cross-track” errors. “Along-track” errors refer to errors in the total distance traveled while “cross-track” errors refer to errors in the direction perpendicular to the direction of travel.
Many techniques have been utilized to help reduce navigation errors in a human-portable inertial navigation system in order to make such systems more accurate for a longer period of use. Such techniques generally add additional data, collectively known as “aiding measurements,” to increase the accuracy of the system. One well-known technique for constraining both along-track and cross-track errors is to implement a zero-velocity update (ZUPT) when the IMU is at rest. During a ZUPT, the IMU updates the Kalman filter with a velocity vector showing that the IMU is at zero velocity. Based on a ZUPT, the system may correct errors in the attitude by using the vertical gravity vector, correct position errors, and estimate correlated IMU errors. Generally, the accuracy of the real-time position estimate from the Kalman filter is directly related to the frequency of the ZUPTs.
ZUPTs are often implemented by placing an IMU on the shoe or boot of a user to utilize the fact that a shoe is normally at zero velocity for a period of time, however brief, during part of a movement, regardless of whether the user is running, walking, or even crawling. This stationary period is exploited to constrain position errors.
One technique used in the prior art to implement a ZUPT was to use a switch placed at the bottom of a walking stick. When the switch was depressed each time the walking stick was planted, the system performed a ZUPT.
In addition to implementing ZUPTs, some systems use global positioning system (GPS) satellites to update the Kalman filter with a known position, thereby constraining position errors. One limitation with the use of GPS, however, is that in many locations, such as underground or in a building away from windows, a user may not be able to receive data from GPS.
Techniques have also been developed to process the data from an inertial navigation system after the user has moved. This technique, known as “post-processing” is often used to give a more accurate representation of where the user was.
Another technique used to constrain position errors is to update the direction of travel, known as the “navigation heading,” of the user. This technique, often referred to as a “compass update,” is used primarily to constrain the more persistent cross-track errors. In an ideal non-magnetic environment, magnetic heading errors from a series of DMC data packets are essentially uncorrelated and thus ideally suited to correct the navigation heading errors that accumulate over time due to integrated errors in the rate gyroscopes. However, some environments contain strong magnetic field sources that introduce significant errors into DMC measurements. For example, in many indoor environments, DMC data is heavily influenced by magnetic field sources such as structures made of iron or steel, electric generators, or even wiring.
There is a need for a human-portable inertial navigation system that obviates or at least mitigates one or more of the shortcomings of previous techniques to allow more accurate computation of the current or real-time position of a user in a wide range of operating environments for an extended period of time.